home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / CIncludes / Slots.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  21.0 KB  |  538 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Slots.h
  3.  
  4.      Contains:    Slot Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1986-1993, 1995-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __SLOTS__
  18. #define __SLOTS__
  19.  
  20. #ifndef __MACTYPES__
  21. #include <MacTypes.h>
  22. #endif
  23. #ifndef __EVENTS__
  24. #include <Events.h>
  25. #endif
  26. #ifndef __FILES__
  27. #include <Files.h>
  28. #endif
  29.  
  30.  
  31.  
  32. #if PRAGMA_ONCE
  33. #pragma once
  34. #endif
  35.  
  36. #ifdef __cplusplus
  37. extern "C" {
  38. #endif
  39.  
  40. #if PRAGMA_IMPORT
  41. #pragma import on
  42. #endif
  43.  
  44. #if PRAGMA_STRUCT_ALIGN
  45.     #pragma options align=mac68k
  46. #elif PRAGMA_STRUCT_PACKPUSH
  47.     #pragma pack(push, 2)
  48. #elif PRAGMA_STRUCT_PACK
  49.     #pragma pack(2)
  50. #endif
  51.  
  52.  
  53. enum {
  54.     fCardIsChanged                = 1,                            /*Card is Changed field in StatusFlags field of sInfoArray*/
  55.     fCkForSame                    = 0,                            /*For SearchSRT. Flag to check for SAME sResource in the table. */
  56.     fCkForNext                    = 1,                            /*For SearchSRT. Flag to check for NEXT sResource in the table. */
  57.     fWarmStart                    = 2                                /*If this bit is set then warm start else cold start.*/
  58. };
  59.  
  60.  
  61. enum {
  62.     stateNil                    = 0,                            /*State*/
  63.     stateSDMInit                = 1,                            /*:Slot declaration manager Init*/
  64.     statePRAMInit                = 2,                            /*:sPRAM record init*/
  65.     statePInit                    = 3,                            /*:Primary init*/
  66.     stateSInit                    = 4                                /*:Secondary init*/
  67. };
  68.  
  69.  
  70. enum {
  71.                                                                 /* flags for spParamData */
  72.     fall                        = 0,                            /* bit 0: set=search enabled/disabled sRsrc's */
  73.     foneslot                    = 1,                            /*    1: set=search sRsrc's in given slot only */
  74.     fnext                        = 2                                /*    2: set=search for next sRsrc */
  75. };
  76.  
  77.  
  78. enum {
  79.                                                                 /* Misc masks */
  80.     catMask                        = 0x08,                            /* sets spCategory field of spTBMask (bit 3) */
  81.     cTypeMask                    = 0x04,                            /* sets spCType    field of spTBMask (bit 2) */
  82.     drvrSWMask                    = 0x02,                            /* sets spDrvrSW   field of spTBMask (bit 1) */
  83.     drvrHWMask                    = 0x01                            /* sets spDrvrHW      field of spTBMask (bit 0) */
  84. };
  85.  
  86. typedef CALLBACK_API( short , SlotIntServiceProcPtr )(long sqParameter);
  87. /*
  88.     WARNING: SlotIntServiceProcPtr uses register based parameters under classic 68k
  89.              and cannot be written in a high-level language without 
  90.              the help of mixed mode or assembly glue.
  91. */
  92. typedef REGISTER_UPP_TYPE(SlotIntServiceProcPtr)                 SlotIntServiceUPP;
  93. enum { uppSlotIntServiceProcInfo = 0x0000B822 };                 /* register 2_bytes:D0 Func(4_bytes:A1) */
  94. #define NewSlotIntServiceProc(userRoutine)                         (SlotIntServiceUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppSlotIntServiceProcInfo, GetCurrentArchitecture())
  95. #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  96.     #pragma parameter __D0 CallSlotIntServiceProc(__A0, __A1)
  97.     short CallSlotIntServiceProc(SlotIntServiceUPP routine, long sqParameter) = 0x4E90;
  98. #else
  99.     #define CallSlotIntServiceProc(userRoutine, sqParameter)     CALL_ONE_PARAMETER_UPP((userRoutine), uppSlotIntServiceProcInfo, (sqParameter))
  100. #endif
  101.  
  102. struct SlotIntQElement {
  103.     Ptr                             sqLink;                        /*ptr to next element*/
  104.     short                             sqType;                        /*queue type ID for validity*/
  105.     short                             sqPrio;                        /*priority*/
  106.     SlotIntServiceUPP                 sqAddr;                        /*interrupt service routine*/
  107.     long                             sqParm;                        /*optional A1 parameter*/
  108. };
  109. typedef struct SlotIntQElement            SlotIntQElement;
  110.  
  111. typedef SlotIntQElement *                SQElemPtr;
  112.  
  113. struct SpBlock {
  114.     long                             spResult;                    /*FUNCTION Result*/
  115.     Ptr                             spsPointer;                    /*structure pointer*/
  116.     long                             spSize;                        /*size of structure*/
  117.     long                             spOffsetData;                /*offset/data field used by sOffsetData*/
  118.     Ptr                             spIOFileName;                /*ptr to IOFile name for sDisDrvrName*/
  119.     Ptr                             spsExecPBlk;                /*pointer to sExec parameter block.*/
  120.     long                             spParamData;                /*misc parameter data (formerly spStackPtr).*/
  121.     long                             spMisc;                        /*misc field for SDM.*/
  122.     long                             spReserved;                    /*reserved for future expansion*/
  123.     short                             spIOReserved;                /*Reserved field of Slot Resource Table*/
  124.     short                             spRefNum;                    /*RefNum*/
  125.     short                             spCategory;                    /*sType: Category*/
  126.     short                             spCType;                    /*Type*/
  127.     short                             spDrvrSW;                    /*DrvrSW*/
  128.     short                             spDrvrHW;                    /*DrvrHW*/
  129.     SInt8                             spTBMask;                    /*type bit mask bits 0..3 mask words 0..3*/
  130.     SInt8                             spSlot;                        /*slot number*/
  131.     SInt8                             spID;                        /*structure ID*/
  132.     SInt8                             spExtDev;                    /*ID of the external device*/
  133.     SInt8                             spHwDev;                    /*Id of the hardware device.*/
  134.     SInt8                             spByteLanes;                /*bytelanes from card ROM format block*/
  135.     SInt8                             spFlags;                    /*standard flags*/
  136.     SInt8                             spKey;                        /*Internal use only*/
  137. };
  138. typedef struct SpBlock                    SpBlock;
  139. typedef SpBlock *                        SpBlockPtr;
  140.  
  141. struct SInfoRecord {
  142.     Ptr                             siDirPtr;                    /*Pointer to directory*/
  143.     short                             siInitStatusA;                /*initialization E*/
  144.     short                             siInitStatusV;                /*status returned by vendor init code*/
  145.     SInt8                             siState;                    /*initialization state*/
  146.     SInt8                             siCPUByteLanes;                /*0=[d0..d7] 1=[d8..d15]*/
  147.     SInt8                             siTopOfROM;                    /*Top of ROM= $FssFFFFx: x is TopOfROM*/
  148.     SInt8                             siStatusFlags;                /*bit 0 - card is changed*/
  149.     short                             siTOConst;                    /*Time Out C for BusErr*/
  150.     SInt8                             siReserved[2];                /*reserved*/
  151.     Ptr                             siROMAddr;                    /* addr of top of ROM */
  152.     SInt8                             siSlot;                        /* slot number */
  153.     SInt8                             siPadding[3];                /* reserved */
  154. };
  155. typedef struct SInfoRecord                SInfoRecord;
  156.  
  157. typedef SInfoRecord *                    SInfoRecPtr;
  158.  
  159. struct SDMRecord {
  160.     ProcPtr                         sdBEVSave;                    /*Save old BusErr vector*/
  161.     ProcPtr                         sdBusErrProc;                /*Go here to determine if it is a BusErr*/
  162.     ProcPtr                         sdErrorEntry;                /*Go here if BusErrProc finds real BusErr*/
  163.     long                             sdReserved;                    /*Reserved*/
  164. };
  165. typedef struct SDMRecord                SDMRecord;
  166.  
  167. struct FHeaderRec {
  168.     long                             fhDirOffset;                /*offset to directory*/
  169.     long                             fhLength;                    /*length of ROM*/
  170.     long                             fhCRC;                        /*CRC*/
  171.     SInt8                             fhROMRev;                    /*revision of ROM*/
  172.     SInt8                             fhFormat;                    /*format - 2*/
  173.     long                             fhTstPat;                    /*test pattern*/
  174.     SInt8                             fhReserved;                    /*reserved*/
  175.     SInt8                             fhByteLanes;                /*ByteLanes*/
  176. };
  177. typedef struct FHeaderRec                FHeaderRec;
  178. typedef FHeaderRec *                    FHeaderRecPtr;
  179. /*
  180.    
  181.        Extended Format header block  -  extended declaration ROM format header for super sRsrc directories.    <H2><SM0>
  182.    
  183. */
  184.  
  185.  
  186. struct XFHeaderRec {
  187.     long                             fhXSuperInit;                /*Offset to SuperInit SExecBlock    <fhFormat,offset>*/
  188.     long                             fhXSDirOffset;                /*Offset to SuperDirectory            <$FE,offset>*/
  189.     long                             fhXEOL;                        /*Psuedo end-of-list                <$FF,nil>*/
  190.     long                             fhXSTstPat;                    /*TestPattern*/
  191.     long                             fhXDirOffset;                /*Offset to (minimal) directory*/
  192.     long                             fhXLength;                    /*Length of ROM*/
  193.     long                             fhXCRC;                        /*CRC*/
  194.     SInt8                             fhXROMRev;                    /*Revision of ROM*/
  195.     SInt8                             fhXFormat;                    /*Format-2*/
  196.     long                             fhXTstPat;                    /*TestPattern*/
  197.     SInt8                             fhXReserved;                /*Reserved*/
  198.     SInt8                             fhXByteLanes;                /*ByteLanes*/
  199. };
  200. typedef struct XFHeaderRec                XFHeaderRec;
  201. typedef XFHeaderRec *                    XFHeaderRecPtr;
  202.  
  203. struct SEBlock {
  204.     UInt8                             seSlot;                        /*Slot number.*/
  205.     UInt8                             sesRsrcId;                    /*sResource Id.*/
  206.     short                             seStatus;                    /*Status of code executed by sExec.*/
  207.     UInt8                             seFlags;                    /*Flags*/
  208.     UInt8                             seFiller0;                    /*Filler, must be SignedByte to align on odd boundry*/
  209.     UInt8                             seFiller1;                    /*Filler*/
  210.     UInt8                             seFiller2;                    /*Filler*/
  211.     long                             seResult;                    /*Result of sLoad.*/
  212.     long                             seIOFileName;                /*Pointer to IOFile name.*/
  213.     UInt8                             seDevice;                    /*Which device to read from.*/
  214.     UInt8                             sePartition;                /*The partition.*/
  215.     UInt8                             seOSType;                    /*Type of OS.*/
  216.     UInt8                             seReserved;                    /*Reserved field.*/
  217.     UInt8                             seRefNum;                    /*RefNum of the driver.*/
  218.     UInt8                             seNumDevices;                /* Number of devices to load.*/
  219.     UInt8                             seBootState;                /*State of StartBoot code.*/
  220.     SInt8                             filler;
  221. };
  222. typedef struct SEBlock                    SEBlock;
  223. /*  Principle  */
  224.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  225.                                                                                             #pragma parameter __D0 SReadByte(__A0)
  226.                                                                                             #endif
  227. EXTERN_API( OSErr )
  228. SReadByte                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7000, 0xA06E);
  229.  
  230.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  231.                                                                                             #pragma parameter __D0 SReadWord(__A0)
  232.                                                                                             #endif
  233. EXTERN_API( OSErr )
  234. SReadWord                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7001, 0xA06E);
  235.  
  236.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  237.                                                                                             #pragma parameter __D0 SReadLong(__A0)
  238.                                                                                             #endif
  239. EXTERN_API( OSErr )
  240. SReadLong                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7002, 0xA06E);
  241.  
  242.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  243.                                                                                             #pragma parameter __D0 SGetCString(__A0)
  244.                                                                                             #endif
  245. EXTERN_API( OSErr )
  246. SGetCString                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7003, 0xA06E);
  247.  
  248.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  249.                                                                                             #pragma parameter __D0 SGetBlock(__A0)
  250.                                                                                             #endif
  251. EXTERN_API( OSErr )
  252. SGetBlock                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7005, 0xA06E);
  253.  
  254.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  255.                                                                                             #pragma parameter __D0 SFindStruct(__A0)
  256.                                                                                             #endif
  257. EXTERN_API( OSErr )
  258. SFindStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7006, 0xA06E);
  259.  
  260.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  261.                                                                                             #pragma parameter __D0 SReadStruct(__A0)
  262.                                                                                             #endif
  263. EXTERN_API( OSErr )
  264. SReadStruct                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7007, 0xA06E);
  265.  
  266. /*  Special  */
  267.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  268.                                                                                             #pragma parameter __D0 SReadInfo(__A0)
  269.                                                                                             #endif
  270. EXTERN_API( OSErr )
  271. SReadInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7010, 0xA06E);
  272.  
  273.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  274.                                                                                             #pragma parameter __D0 SReadPRAMRec(__A0)
  275.                                                                                             #endif
  276. EXTERN_API( OSErr )
  277. SReadPRAMRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7011, 0xA06E);
  278.  
  279.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  280.                                                                                             #pragma parameter __D0 SPutPRAMRec(__A0)
  281.                                                                                             #endif
  282. EXTERN_API( OSErr )
  283. SPutPRAMRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7012, 0xA06E);
  284.  
  285.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  286.                                                                                             #pragma parameter __D0 SReadFHeader(__A0)
  287.                                                                                             #endif
  288. EXTERN_API( OSErr )
  289. SReadFHeader                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7013, 0xA06E);
  290.  
  291.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  292.                                                                                             #pragma parameter __D0 SNextSRsrc(__A0)
  293.                                                                                             #endif
  294. EXTERN_API( OSErr )
  295. SNextSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7014, 0xA06E);
  296.  
  297.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  298.                                                                                             #pragma parameter __D0 SNextTypeSRsrc(__A0)
  299.                                                                                             #endif
  300. EXTERN_API( OSErr )
  301. SNextTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7015, 0xA06E);
  302.  
  303.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  304.                                                                                             #pragma parameter __D0 SRsrcInfo(__A0)
  305.                                                                                             #endif
  306. EXTERN_API( OSErr )
  307. SRsrcInfo                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7016, 0xA06E);
  308.  
  309.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  310.                                                                                             #pragma parameter __D0 SDisposePtr(__A0)
  311.                                                                                             #endif
  312. EXTERN_API( OSErr )
  313. SDisposePtr                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7017, 0xA06E);
  314.  
  315.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  316.                                                                                             #pragma parameter __D0 SCkCardStat(__A0)
  317.                                                                                             #endif
  318. EXTERN_API( OSErr )
  319. SCkCardStat                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7018, 0xA06E);
  320.  
  321.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  322.                                                                                             #pragma parameter __D0 SReadDrvrName(__A0)
  323.                                                                                             #endif
  324. EXTERN_API( OSErr )
  325. SReadDrvrName                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7019, 0xA06E);
  326.  
  327.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  328.                                                                                             #pragma parameter __D0 SFindSRTRec(__A0)
  329.                                                                                             #endif
  330. EXTERN_API( OSErr )
  331. SFindSRTRec                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701A, 0xA06E);
  332.  
  333.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  334.                                                                                             #pragma parameter __D0 SFindDevBase(__A0)
  335.                                                                                             #endif
  336. EXTERN_API( OSErr )
  337. SFindDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701B, 0xA06E);
  338.  
  339.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  340.                                                                                             #pragma parameter __D0 SFindBigDevBase(__A0)
  341.                                                                                             #endif
  342. EXTERN_API( OSErr )
  343. SFindBigDevBase                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701C, 0xA06E);
  344.  
  345. /*  Advanced  */
  346.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  347.                                                                                             #pragma parameter __D0 InitSDeclMgr(__A0)
  348.                                                                                             #endif
  349. EXTERN_API( OSErr )
  350. InitSDeclMgr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7020, 0xA06E);
  351.  
  352.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  353.                                                                                             #pragma parameter __D0 SPrimaryInit(__A0)
  354.                                                                                             #endif
  355. EXTERN_API( OSErr )
  356. SPrimaryInit                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7021, 0xA06E);
  357.  
  358.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  359.                                                                                             #pragma parameter __D0 SCardChanged(__A0)
  360.                                                                                             #endif
  361. EXTERN_API( OSErr )
  362. SCardChanged                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7022, 0xA06E);
  363.  
  364.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  365.                                                                                             #pragma parameter __D0 SExec(__A0)
  366.                                                                                             #endif
  367. EXTERN_API( OSErr )
  368. SExec                            (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7023, 0xA06E);
  369.  
  370.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  371.                                                                                             #pragma parameter __D0 SOffsetData(__A0)
  372.                                                                                             #endif
  373. EXTERN_API( OSErr )
  374. SOffsetData                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7024, 0xA06E);
  375.  
  376.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  377.                                                                                             #pragma parameter __D0 SInitPRAMRecs(__A0)
  378.                                                                                             #endif
  379. EXTERN_API( OSErr )
  380. SInitPRAMRecs                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7025, 0xA06E);
  381.  
  382.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  383.                                                                                             #pragma parameter __D0 SReadPBSize(__A0)
  384.                                                                                             #endif
  385. EXTERN_API( OSErr )
  386. SReadPBSize                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7026, 0xA06E);
  387.  
  388.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  389.                                                                                             #pragma parameter __D0 SCalcStep(__A0)
  390.                                                                                             #endif
  391. EXTERN_API( OSErr )
  392. SCalcStep                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7028, 0xA06E);
  393.  
  394.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  395.                                                                                             #pragma parameter __D0 SInitSRsrcTable(__A0)
  396.                                                                                             #endif
  397. EXTERN_API( OSErr )
  398. SInitSRsrcTable                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7029, 0xA06E);
  399.  
  400.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  401.                                                                                             #pragma parameter __D0 SSearchSRT(__A0)
  402.                                                                                             #endif
  403. EXTERN_API( OSErr )
  404. SSearchSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702A, 0xA06E);
  405.  
  406.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  407.                                                                                             #pragma parameter __D0 SUpdateSRT(__A0)
  408.                                                                                             #endif
  409. EXTERN_API( OSErr )
  410. SUpdateSRT                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702B, 0xA06E);
  411.  
  412.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  413.                                                                                             #pragma parameter __D0 SCalcSPointer(__A0)
  414.                                                                                             #endif
  415. EXTERN_API( OSErr )
  416. SCalcSPointer                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702C, 0xA06E);
  417.  
  418.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  419.                                                                                             #pragma parameter __D0 SGetDriver(__A0)
  420.                                                                                             #endif
  421. EXTERN_API( OSErr )
  422. SGetDriver                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702D, 0xA06E);
  423.  
  424.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  425.                                                                                             #pragma parameter __D0 SPtrToSlot(__A0)
  426.                                                                                             #endif
  427. EXTERN_API( OSErr )
  428. SPtrToSlot                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702E, 0xA06E);
  429.  
  430.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  431.                                                                                             #pragma parameter __D0 SFindSInfoRecPtr(__A0)
  432.                                                                                             #endif
  433. EXTERN_API( OSErr )
  434. SFindSInfoRecPtr                (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x702F, 0xA06E);
  435.  
  436.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  437.                                                                                             #pragma parameter __D0 SFindSRsrcPtr(__A0)
  438.                                                                                             #endif
  439. EXTERN_API( OSErr )
  440. SFindSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7030, 0xA06E);
  441.  
  442.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  443.                                                                                             #pragma parameter __D0 SDeleteSRTRec(__A0)
  444.                                                                                             #endif
  445. EXTERN_API( OSErr )
  446. SDeleteSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7031, 0xA06E);
  447.  
  448. EXTERN_API( OSErr )
  449. OpenSlot                        (ParmBlkPtr             paramBlock,
  450.                                  Boolean                 async);
  451.  
  452.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  453.                                                                                             #pragma parameter __D0 OpenSlotSync(__A0)
  454.                                                                                             #endif
  455. EXTERN_API( OSErr )
  456. OpenSlotSync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA200);
  457.  
  458.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  459.                                                                                             #pragma parameter __D0 OpenSlotAsync(__A0)
  460.                                                                                             #endif
  461. EXTERN_API( OSErr )
  462. OpenSlotAsync                    (ParmBlkPtr             paramBlock)                            ONEWORDINLINE(0xA600);
  463.  
  464. /*  Device Manager Slot Support  */
  465.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  466.                                                                                             #pragma parameter __D0 SIntInstall(__A0, __D0)
  467.                                                                                             #endif
  468. EXTERN_API( OSErr )
  469. SIntInstall                        (SQElemPtr                 sIntQElemPtr,
  470.                                  short                     theSlot)                            ONEWORDINLINE(0xA075);
  471.  
  472.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  473.                                                                                             #pragma parameter __D0 SIntRemove(__A0, __D0)
  474.                                                                                             #endif
  475. EXTERN_API( OSErr )
  476. SIntRemove                        (SQElemPtr                 sIntQElemPtr,
  477.                                  short                     theSlot)                            ONEWORDINLINE(0xA076);
  478.  
  479.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  480.                                                                                             #pragma parameter __D0 SVersion(__A0)
  481.                                                                                             #endif
  482. EXTERN_API( OSErr )
  483. SVersion                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7008, 0xA06E);
  484.  
  485.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  486.                                                                                             #pragma parameter __D0 SetSRsrcState(__A0)
  487.                                                                                             #endif
  488. EXTERN_API( OSErr )
  489. SetSRsrcState                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x7009, 0xA06E);
  490.  
  491.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  492.                                                                                             #pragma parameter __D0 InsertSRTRec(__A0)
  493.                                                                                             #endif
  494. EXTERN_API( OSErr )
  495. InsertSRTRec                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700A, 0xA06E);
  496.  
  497.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  498.                                                                                             #pragma parameter __D0 SGetSRsrc(__A0)
  499.                                                                                             #endif
  500. EXTERN_API( OSErr )
  501. SGetSRsrc                        (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700B, 0xA06E);
  502.  
  503.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  504.                                                                                             #pragma parameter __D0 SGetTypeSRsrc(__A0)
  505.                                                                                             #endif
  506. EXTERN_API( OSErr )
  507. SGetTypeSRsrc                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x700C, 0xA06E);
  508.  
  509.                                                                                             #if TARGET_OS_MAC && TARGET_CPU_68K && !TARGET_RT_MAC_CFM
  510.                                                                                             #pragma parameter __D0 SGetSRsrcPtr(__A0)
  511.                                                                                             #endif
  512. EXTERN_API( OSErr )
  513. SGetSRsrcPtr                    (SpBlockPtr             spBlkPtr)                            TWOWORDINLINE(0x701D, 0xA06E);
  514.  
  515.  
  516.  
  517.  
  518. #if PRAGMA_STRUCT_ALIGN
  519.     #pragma options align=reset
  520. #elif PRAGMA_STRUCT_PACKPUSH
  521.     #pragma pack(pop)
  522. #elif PRAGMA_STRUCT_PACK
  523.     #pragma pack()
  524. #endif
  525.  
  526. #ifdef PRAGMA_IMPORT_OFF
  527. #pragma import off
  528. #elif PRAGMA_IMPORT
  529. #pragma import reset
  530. #endif
  531.  
  532. #ifdef __cplusplus
  533. }
  534. #endif
  535.  
  536. #endif /* __SLOTS__ */
  537.  
  538.